Resistive memory elements can be programmed to different resistive states by applying programming energy. After programming, the state of the resistive memory elements can be read and remains stable over a specified time period. Large arrays of resistive memory elements can be used to create a variety of resistive memory devices, including non-volatile solid state memory, programmable logic, signal processing, control systems, pattern recognition devices, and other applications.
Throughout the drawings, identical reference numbers designate similar, but not necessarily identical, elements.